Module having application-specific program stored therein

ABSTRACT

Once attached to a slot of a personal digital assistant PDA, a card module CM executes an application-specific program and transmits a result obtained thereby to the personal digital assistant PDA. Thus received execution result is outputted from an output part  26.  Accordingly, the output part  26  can be provided for shared use among several card modules CM for output of the execution result.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to modules and, more specifically, to a card module attachable to data terminal equipment, and once attached, executing an application-specific program stored therein, and transmitting its result to the data terminal equipment.

[0003] 2. Description of the Background Art

[0004] Recently, portable devices are rapidly becoming popular, and a user plays games with his/her portable game machine, or listens to music with his/her portable audio player. There also has appeared a portable navigation device guiding a user which way to go, and indicating where he/she currently is.

[0005] The problem here is, such conventional portable devices are each designed for a single application, and therefore the user has to purchase each different portable device for his/her varying purposes.

SUMMARY OF THE INVENTION

[0006] Therefore, an object of the present invention is to provide a card module of a type attached to data terminal equipment to deal with a user's varying purposes at low cost.

[0007] An aspect of the present invention is directed to a module attachable to data terminal equipment, comprising: a first storage for storing an application-specific program; a first processing unit for executing the program stored in the first storage; a first bus through which an execution result from the first processing unit is transferred; and a first communications controller for transmitting to the data terminal equipment the execution result transferred through the first bus. The data terminal equipment then outputs the execution result transmitted from the first communications controller from an internal output part.

[0008] As described above, in the aspect, the module stores and executes an application-specific program, a result executed thereby is outputted from the data terminal equipment. Therefore, depending on what application the module is specific for, a single data terminal equipment can be of various types. For example, if a user wants to listen to music, the data terminal equipment will be an audio player. As such, according to the aspect, a single data terminal equipment together with several modules each having different program stored therein can deal with the user's varying purposes. Therefore, the user has no more need to spend money to buy as many devices to do with whatever he/she wants. Further, according to the aspect, since the module executes such application-specific programs, components of the module can be always optimally selected.

[0009] These and other objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0010]FIG. 1 shows front views of card modules CMs and a personal digital assistant PDA according to an embodiment of the present invention;

[0011]FIGS. 2A and 2B each show rear views of the card module CM and the personal digital assistant PDA of FIG. 1;

[0012]FIG. 3A is a block diagram showing the basic hardware structure of the card module CM of FIG. 1;

[0013]FIG. 3B is a schematic diagram showing a terminal arrangement of a connector 15 of FIG. 3A;

[0014]FIG. 4A is a schematic diagram showing the hardware structure of the card module CM of FIG. 1;

[0015]FIG. 4B is a schematic diagram showing a terminal arrangement of a connector 25 of FIG. 4A;

[0016]FIG. 5 is a sequence chart showing the first part of communications procedure between a card module CM and a personal digital assistant PDA;

[0017]FIG. 6 is a sequence chart showing the second part of the communications procedure between the card module CM and the personal digital assistant PDA; and

[0018]FIG. 7 is a sequence chart showing the last part of the communications procedure between the card module CM and the personal digital assistant PDA.

DESCRIPTION OF THE PREFERRED EMBODIMENT

[0019]FIG. 1 shows front views of card-shaped modules CMs and a personal digital assistant PDA according to an embodiment of the present invention, while FIGS. 2A and 2B show back views thereof. The card module CM includes a circuit printed board (not shown) having a connector 15 equipped thereto for connection with the personal digital assistant PDA.

[0020] Such card module CM includes, as shown in FIG. 3A, an MPU (accelerator) 11, ROM12, nonvolatile RAM 13, a communications controller 14, and a bus 16 together with the connector 15. The ROM 12 stores at least a program P₁ for connection establishment with the personal digital assistant PDA, and a predetermined program P₂. The predetermined program P₂ is written in each different program language, and realizes a single application with respect to every combination of the card module CM and the personal digital assistant PDA. Such predetermined program P₂ may be a program for audio player, navigation program, game program, and the like. The MPU 11 executes the programs P₁ and P₂ while using the RAM 13 as a working area. The communications controller 14 transmits/receives control information and data to/from the personal digital assistant PDA, and also adjusts the number of bits (will be described later). The connector 15 is used for connection between the card module CM and the personal digital assistant PDA. The bus 16, which is a bundle of signal lines, interconnects the MPU 11, ROM 12, RAM 13, and communications controller 14 to one another. In this embodiment, among those signal lines, m signal lines are used for data transfer, and p for transmission/reception of the control information. Here, the number m of the signal lines (i.e., m-bit width) for data transfer takes 8, 16, 32, 64, 128, or 256.

[0021] As for such card module CM, specifications thereof are basically left to designers' discretion. More specifically, designers selectively combine the MPU 11, ROM 12, RAM 13, connector 15, and bus 16 in consideration of manufacturing cost and what application. Here, some applications may require other devices, for example, navigation with GPS specifically requires receiver and antenna. However, such device addition is not considered essential to the present invention, and thus is not neither described nor shown.

[0022] Referring to FIG. 3B, the connector 15 is now described in detail. FIG. 3B shows a terminal arrangement of the connector 15 viewed from an arrow A of FIG. 2A. In FIG. 3B, shaded square objects each denote a terminal, the total number of which is k. Here, the total number k is so determined as to be larger than the number m of the bit width, and k terminals are each coupled to the communications controller 14. Among those k terminals, p terminals are used as control terminals C. In the example of FIG. 3B, four terminals located at the right hand side are the control terminals C₁ to C₄. The rest of the terminals are possibly used as data terminals D, and the m-bit width determines in advance how many and which terminals are to be used. For example, when the bus 16 is of 32-bit width (i.e. m=32), 32 terminals D₁ to D₃₂ counted from the left hand side are used for data transfer.

[0023] As such, in principle, the specifications of the card module CM are changeable by designers. However, no matter what application, the outer shape of the card module CM needs to remain the same, and so does the physical shape of the connector 15.

[0024] Refer to FIGS. 1 to 2B again. The personal digital assistant PDA is exemplified by 3Com's PalmIIIx and IBM's WorkPad (both trademarks). As shown in FIG. 2A, the personal digital assistant PDA of this embodiment additionally includes a slot S, into which the card module CM is inserted. At the far end of the slot S, provided is a connector 25 having the same physical specifications as the connector 15.

[0025] Such personal digital assistant PDA includes, as shown in FIG. 4A, a CPU 21, ROM 22, RAM 23, a communications controller 24, an output part 26, an input device 29, and a bus 210 together with the connector 25. The ROM 22 stores at least a program P₃ for connection establishment with the personal digital assistant PDA. The CPU 21 executes the program P₃ while using the RAM 23 as a working area. The communications controller 24 transmits/receives control information or data to/from the card module CM, and also adjusts the number of bits (will be described later). The connector 25 is used for connection between the personal digital assistant PDA and the card module CM. The output part 26 is typically composed of a display 27 and a speaker 28. The input device 29 is typically composed of a user-operable pen and touch sensor, and key. The bus 210, which is a bundle of signal lines, interconnects the CPU 21, ROM 22, RAM 23, communications controller 24, display 27, speaker 28, and input device 29 to one another. In this embodiment, among those signal lines, n signal lines are used for data transfer, and p for transmission/reception of the control information. Here, the number n of the signal lines (i.e., n-bit width) for data transfer takes 8, 16, 32, 64, 128, or 256. Accordingly, the bus 210 may be equal in bit width to the bus 16 on the card module CM side.

[0026] Referring to FIG. 4B, the connector 25 is now described in detail. FIG. 4B shows a terminal arrangement of the connector 25 viewed from an arrow B of FIG. 2A. Here, the physical specifications of the connector 25 are the same as those of the connector 15, and thus are not described in detail. In FIG. 4B, blackened square objects each denote a terminal, the total number of which is also k. Those k terminals are each coupled to the communications controller 24. Among from those k terminals, p terminals are used as the control terminals C. Herein, p signal lines of the bus 210 need to be all coupled to p signal lines of the bus 16. Thus, in this example, four terminals located at the left hand side are the control terminals C₁ to C₄. The rest of the terminals are possibly used as the data terminals D, and the n-bit width determines in advance how many and which terminals are to be used. For example, when the bus 210 is of 64-bit width (i.e., m=64), 64 terminals D₁ to D₆₄ counted from the right hand side are used for data transfer.

[0027] With reference to FIGS. 5 to 7, described next is an exemplary operation of such structured card module CM and personal digital assistant PDA. The user now inserts the card module CM into the slot S of the personal digital assistant PDA (see FIG. 2A). By pushing the card module CM farther (see FIG. 2B), the connectors 15 and 25 are connected via terminals, and the card module CM accordingly receives power supply voltage preferably from the personal digital assistant PDA. Here, the card module CM may receive power supply voltage from internal battery.

[0028] In the personal digital assistant PDA, in recognition that the card module CM is connected to the connector 25, the CPU 21 starts executing the program P₃ (FIG. 5; sequence SQ1). Then, the CPU 21 waits for any control information from the card module CM side.

[0029] In the card module CM, the MPU 11 starts executing the program P₁ once provided with power supply voltage (sequence SQ2).

[0030] The MPU 11 then transmits control information CI₁ found in the program P₁ to the communications controller 14 through the signal lines, for control information, of the bus 16 (sequence SQ3). Here, the control information CI₁ is the one inquiring the personal digital assistant PDA about the n-bit width of the bus 210. Herein, the control information CI₁ includes information about the m-bit width of the bus 16 to notify the personal digital assistant PDA thereof. The control information CI₁ is then sent out from the communications controller 14 to the control terminals C of the connector 15 (sequence SQ4). In this manner, the control information CI₁ is provided to the control terminals C of the connector 25 of the personal digital assistant PDA (sequence SQ5)

[0031] In response to the control information CI₁ via the control terminals C of the connector 25, the communications controller 24 of the personal digital assistant PDA extracts the number m of the bit width therefrom. The communications controller 24 then registers thus extracted number m into an internal storage (not shown) typified by a register, for example (sequence SQ6). Then, the communications controller 24 transmits the received control information CI₁ to the CPU 21 through the signal lines, for control information, of the bus 210 (sequence SQ7). In response thereto, the CPU 21 transmits control information CI₂ found in the program P₃ to the communications controller 24 through the signal lines, for control information, of the bus 210 (sequence SQ8). Herein, the control information CI₂ includes information about the n-bit width of the bus 210 to notify the personal digital assistant PDA thereof. After transmitting the control information CI₂, the CPU 21 stops executing the program P₃, and waits for any control information this time from the card module CM side. The communications controller 24 then sends out the received control information CI₂ towards the control terminals C of the connector 25 (FIG. 6; sequence SQ9). In this manner, the control information CI₂ is provided to the control terminals C of the connector 15 of the card module CM (sequence SQ10).

[0032] In response to the control information CI₂ via the control terminals C of the connector 15, the communications controller 14 of the card module CM extracts the number n of the bit width therefrom. The communications controller 14 then registers thus extracted number n into an internal storage (not shown) typified by a register, for example (sequence SQ11) Then, the communications controller 14 transmits the received control information CI₂ to the MPU 11 through the signal lines, for control information, of the bus 16 (sequence SQ12) With the control information CI₂, the MPU 11 understands that connection between the card module CM and the personal digital assistant PDA is now established, and then stops executing the program P₁ but starts executing the program P₂ (sequence SQ13). The execution result of the program P₂ is stored in the RAM 13. Here, the execution result is video data, image data, audio data, character data, or a combination of two or more of such data.

[0033] In the case that the MPU 11 wants the execution result of the program P₂ outputted from the output part 26 of the personal digital assistant PDA, the execution result in the RAM 13 is transmitted, by m bits, to the communications controller 14 through m signal lines, for data transfer, of the bus 210 (sequence SQ14). That is, the execution result is transferred, in parallel, to the communications controller 14 by m bits. When the execution result starts coming by m bits, the communications controller 14 starts adjusting the number of bits (sequence SQ15). To be specific, the communications controller 14 first compares between the n-bit width registered in the above sequence SQ11 and the m-bit width. When m>n, the communications controller 14 divides the execution result came by m bits into n bits, and then stores the result in an internal FIFO (First In First Out). The communications controller 14 repeats such division and storage until the execution result is completely through Thus stored execution result is then sent out from the FIFO, in parallel by n bits, to n data terminals D₁ to D_(n) of the connector 15.

[0034] When m>n is not satisfied, the communications controller 14 stores, in the FIFO, the execution result came by n bits without any process. The communications controller 14 repeats such storage until the execution result is completely through. Thus stored execution result is then sent out from the FIFO, in parallel by m bits, to m data terminals D₁ to D_(m) of the connector 15 (FIG. 7; sequence SQ16).

[0035] The execution result is thus, by n or m bits, provided to the data terminals D₁ to D_(n) or D_(m) of the connector 25 of the personal digital assistant PDA (sequence SQ17). When the execution result starts coming via those data terminals D₁ to D_(n) or D_(m), the communications controller 24 of the personal digital assistant PDA starts adjusting the number of bits (sequence SQ18). To be specific, the communications controller 24 compares between the m-bit width registered in the above sequence SQ6 and the n-bit width.

[0036] When m>n, the communications controller 24 receives the execution result which has been adjusted for n-bit width of the bus 210. The communications controller 24 thus transfers the received execution result to the RAM 23 as it is. The communications controller 24 repeats such transfer until every execution result is completely through. On the other hand, when m>n is not satisfied, the communications controller 24 receives the execution result which has not been adjusted for n-bit width of the bus 210. Therefore, the execution result each transmitted by m bits is padded with a dummy word of (n−m) bits before transferred to the RAM 23. The communications controller 24 repeats such padding and transfer until the execution result is completely through. With such padding, the RAM 23 stores the execution result by n bits (sequence SQ19).

[0037] When the execution result is completely stored by n bits in the RAM 23, the CPU 21 instructs the output part 26 to output the execution result (sequence SQ20). Note herein that, if the execution result has dummy words padded thereto, the CPU 21 takes those dummy words out after sequence SQ19, or when the execution result is completely stored in the RAM 23. The CPU 21 also controls transfer of the execution result from the RAM 23 to the output part 26. The output part 26 accordingly responds to the instruction from the CPU 21, and receives and outputs the execution result stored in the RAM 23 (sequence SQ21).

[0038] Here, during when the program P2 is executed, the user may operate the input device 29. In such case, the input device 29 generates input information for specifying the user's operation. Thus generated input information is processed by the CPU 21, and then transmitted to the card module CM side. The operation of the personal digital assistant PDA and the card module CM, respectively, is evident from the above, and thus is not described.

[0039] As such, the card module CM is so structured as to store and execute the application-specific program P2, and its execution result is outputted from the output part 26 of the attached personal digital assistant PDA. Accordingly, if the user wants to listen to music, for example, he/she only need to attach an appropriate card module CM to his/her personal digital assistant PDA. This is always applicable no matter what the user wants with his/her personal digital assistant PDA.

[0040] As is obvious from the above, according to the present embodiment, the user's varying purposes can be met only with a single personal digital assistant PDA and several modules each having the application-specific program P₂ stored therein. Therefore, to do with whatever the user wants, he/she has no more need to spend money to buy as many personal digital assistants PDAs.

[0041] Further, since the card module CM executes only application-specific programs P₂, components of the card module CM can be always optimally selected. Still further, there only needs for the personal digital assistant PDA to output the execution result, the specifications thereof thus do not have to be so rigid.

[0042] Here, in the above, the card module CM is attached to the personal digital assistant PDA. This is not restrictive, and the card module CM may be attached to data terminal equipment typified by a personal computer and cellular phone.

[0043] While the invention has been described in detail, the foregoing description is in all aspects illustrative and not restrictive. It is understood that numerous other modifications and variations can be devised without departing from the scope of the invention. 

What is claimed is:
 1. A module attachable to data terminal equipment, comprising: a first storage for storing an application-specific program; a first processing unit for executing the program stored in said first storage; a first bus through which an execution result from said first processing unit is transferred; and a first communications controller for transmitting to the data terminal equipment the execution result transferred from said first bus to said data terminal equipment, wherein said data terminal equipment outputs, from an internal output part, the execution result provided from said first communications controller.
 2. The module according to claim 1 , wherein said data terminal equipment further comprises: a second storage for storing the execution result transmitted from said first communications controller; and a second processing unit for instructing said output part to output the execution result stored in said second storage, and when instructed by said second processing unit, said output part responsively outputs the execution result stored in said second storage.
 3. The module according to claim 1 , wherein said first bus is of an m-bit width (wherein is a natural number), said first communications controller adjusts the number of bits of the execution result transmitted, by m bits, from said first communications controller through said first bus, and transmits the execution result by n bits (where n is a natural number) to said data terminal equipment, and said data terminal equipment comprises: a second communications controller for receiving the execution result transmitted from said first communications controller by n bits; a second bus of an n-bit width through which said execution result received by n bits by said second communications controller is transferred; a second storage for storing, by n bits, said execution result transferred through said second bus; and a second processing unit for instructing said output part to output said execution result stored in said second storage by n bits.
 4. The module according to claim 1 , wherein said first bus is of an m-bit width (where m is a natural number), said first communications controller transmits, to said data terminal equipment, the execution result transmitted through said bus by m bits, said data terminal equipment comprises: a second communications controller for changing, to n (where n is a natural number), the number of bits of the execution result transmitted from said first communications controller; a second bus of an n-bit width through which said execution result changed to n bits by said second communications controller is transferred; a second storage for storing, by n bits, said execution result transferred through said second bus; and a second processing unit for instructing said output part to output said execution result stored in said second storage by n bits. 